ইমেজের আকার এবং অবস্থান নির্ধারণ করা

Java Technologies - অ্যাপাচি পিওআই (ওয়ার্ড) Images এবং Pictures যোগ করা |
118
118

Apache POI ব্যবহার করে Microsoft Word ডকুমেন্টে ইমেজ (ছবি) যোগ করা এবং তার আকার (size) ও অবস্থান (position) নিয়ন্ত্রণ করা যেতে পারে। এর মাধ্যমে আপনি ডকুমেন্টে ইমেজের আকার কাস্টমাইজ করতে পারেন এবং ইমেজটি ডকুমেন্টের নির্দিষ্ট স্থানে রাখতে পারেন।

এই প্রক্রিয়ায়, XWPFRun এবং XWPFPicture এর মাধ্যমে ইমেজটি ডকুমেন্টে যোগ করা হয় এবং ইমেজের আকার এবং অবস্থান নিয়ন্ত্রণ করা হয়।


ইমেজ যোগ করা এবং আকার নির্ধারণ করা

Apache POI এর মাধ্যমে আপনি Word ডকুমেন্টে ছবি যোগ করতে পারেন এবং ছবি নির্দিষ্ট আকারে কনফিগার করতে পারেন। নিচে দেখানো হলো কিভাবে ইমেজের আকার এবং অবস্থান নিয়ন্ত্রণ করা যায়।

উদাহরণ: ইমেজের আকার এবং অবস্থান নির্ধারণ করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.util.Units;

import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class ImageSizeAndPositionExample {
    public static void main(String[] args) throws IOException {
        // নতুন ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();

        // রান (Run) তৈরি করা, যার মাধ্যমে ইমেজ যোগ হবে
        XWPFRun run = paragraph.createRun();

        // ইমেজ যোগ করার জন্য ইনপুট স্ট্রিম তৈরি করা
        try (FileInputStream imageStream = new FileInputStream("image.jpg")) {
            // ইমেজটি ডকুমেন্টে যোগ করা
            run.addPicture(imageStream, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpg",
                    Units.toEMU(200), Units.toEMU(100)); // ইমেজের আকার নির্ধারণ (প্রস্থ 200pt, উচ্চতা 100pt)
        }

        // ডকুমেন্ট সংরক্ষণ
        try (FileOutputStream out = new FileOutputStream("ImageSizeAndPositionExample.docx")) {
            document.write(out);
        }

        System.out.println("ইমেজ সফলভাবে আকার এবং অবস্থান সহ যোগ করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • run.addPicture() ব্যবহার করে ডকুমেন্টে ছবি যোগ করা হয়েছে।
  • Units.toEMU() ব্যবহার করে ইমেজের আকার নির্ধারণ করা হয়েছে। এখানে, 200px প্রস্থ এবং 100px উচ্চতা দেওয়া হয়েছে। POI ইমেজের আকার EMU (English Metric Units) এ নির্ধারণ করে, তাই আমাদের পিক্সেল বা পয়েন্টকে EMU তে রূপান্তর করতে হয়।
  • আপনি ছবির আকার পরিবর্তন করতে চাইলে Units.toEMU(প্রস্থ) এবং Units.toEMU(উচ্চতা) মান পরিবর্তন করতে পারেন।

ইমেজের অবস্থান নির্ধারণ করা

ইমেজের অবস্থান নিয়ন্ত্রণ করতে আপনি XWPFPicture এবং XWPFRun ব্যবহার করে ইমেজের alignment এবং positioning কাস্টমাইজ করতে পারেন। সাধারণত, ইমেজের alignment (যেমন, বাম, ডান, সেন্টার) নিয়ন্ত্রণ করা হয় এবং প্রিন্টিং পেজের মধ্যে ইমেজের সঠিক স্থানে তা বসানো হয়।

উদাহরণ: ইমেজের Alignment নির্ধারণ করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import org.apache.poi.util.Units;

import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class ImageAlignmentExample {
    public static void main(String[] args) throws IOException {
        // নতুন ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();

        // প্যারাগ্রাফের alignment নির্ধারণ করা (সেন্টার আলাইন)
        paragraph.setAlignment(ParagraphAlignment.CENTER);

        // রান (Run) তৈরি করা
        XWPFRun run = paragraph.createRun();

        // ইমেজ যোগ করার জন্য ইনপুট স্ট্রিম তৈরি করা
        try (FileInputStream imageStream = new FileInputStream("image.jpg")) {
            // ইমেজটি ডকুমেন্টে যোগ করা
            run.addPicture(imageStream, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpg",
                    Units.toEMU(200), Units.toEMU(100)); // আকার নির্ধারণ করা (200pt প্রস্থ, 100pt উচ্চতা)
        }

        // ডকুমেন্ট সংরক্ষণ
        try (FileOutputStream out = new FileOutputStream("ImageAlignmentExample.docx")) {
            document.write(out);
        }

        System.out.println("ইমেজ সফলভাবে সেন্টারে অবস্থান সহ যোগ করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • paragraph.setAlignment(ParagraphAlignment.CENTER) দিয়ে আমরা প্যারাগ্রাফের alignment সেন্টারে সেট করেছি, যাতে ইমেজটি সেন্টার অবস্থানে থাকবে।
  • আপনি ParagraphAlignment.LEFT বা ParagraphAlignment.RIGHT ব্যবহার করে ইমেজের অবস্থান বাম বা ডানেও রাখতে পারেন।

ইমেজের অবস্থান আরো কাস্টমাইজ করা

আপনি যদি আরও নির্দিষ্ট অবস্থানে ইমেজ রাখতে চান, তাহলে XWPFPicture এর মাধ্যমে ইমেজটির anchor বা position কাস্টমাইজ করতে পারবেন।

উদাহরণ: ইমেজের অবস্থান কাস্টমাইজ করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.util.Units;

import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class CustomImagePositionExample {
    public static void main(String[] args) throws IOException {
        XWPFDocument document = new XWPFDocument();

        // প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();

        // রান (Run) তৈরি করা
        XWPFRun run = paragraph.createRun();

        // ইমেজ যোগ করার জন্য ইনপুট স্ট্রিম তৈরি করা
        try (FileInputStream imageStream = new FileInputStream("image.jpg")) {
            // ইমেজটির অবস্থান কাস্টমাইজ করা
            run.addPicture(imageStream, XWPFDocument.PICTURE_TYPE_JPEG, "image.jpg",
                    Units.toEMU(200), Units.toEMU(100)); // আকার নির্ধারণ করা (200pt প্রস্থ, 100pt উচ্চতা)
        }

        // ডকুমেন্ট সংরক্ষণ
        try (FileOutputStream out = new FileOutputStream("CustomImagePositionExample.docx")) {
            document.write(out);
        }

        System.out.println("ইমেজ কাস্টম অবস্থান সহ সফলভাবে যোগ করা হয়েছে!");
    }
}

এই কোডে আপনি XWPFRun এর মাধ্যমে ইমেজের আকার এবং অবস্থান নির্ধারণ করতে পারেন এবং addPicture মেথডের মাধ্যমে ইমেজের বিভিন্ন প্যারামিটার কাস্টমাইজ করতে পারেন।


সারাংশ

Apache POI ব্যবহার করে Word ডকুমেন্টে ইমেজ যোগ করা এবং তার আকারঅবস্থান নিয়ন্ত্রণ করা খুবই সহজ। আপনি XWPFRun এবং XWPFPicture এর মাধ্যমে ইমেজটি যোগ করতে পারেন এবং তার আকার নির্ধারণ করতে Units.toEMU() ব্যবহার করতে পারেন। এছাড়াও, ইমেজের alignment কাস্টমাইজ করে আপনি তা সেন্টার, লেফট বা রাইটে অবস্থান করতে পারেন। addPicture() মেথডের মাধ্যমে ইমেজের আকার এবং অবস্থান সঠিকভাবে নিয়ন্ত্রণ করা সম্ভব।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion